package com.neusoft.tree.avl;

import lombok.Data;

import java.util.Objects;

/**
 * @author lichunlong lcl253137@alibaba-inc.com
 * @desc AVL树
 * @date 2025-04-15
 */
@Data
public class AvlTree {

    private AvlTreeNode rootNode;

    /**
     * 添加结点
     *
     * @param node 结点
     */
    public void add(AvlTreeNode node) {
        if (Objects.isNull(rootNode)) {
            // 如果root为空, 则直接让root指向node
            rootNode = node;
        } else {
            rootNode.add(node);
        }
    }

    /**
     * 中序遍历
     */
    public void midOrder() {
        if (Objects.isNull(rootNode)) {
            System.out.println("二叉排序树为空，不能遍历");
            return;
        }

        rootNode.midOrder();
    }

}
